/**
 * 
 */
package fr.utbm.gi.vi51.slizers.pw.environment;

import java.awt.Color;

/**
 * Enum of the type of element the map can contain.
 * 
 * @author Adrien
 * 
 */
public enum WorldElement {
	EARTH {
		/* (non-Javadoc)
		 * @see fr.utbm.gi.vi51.slizers.pw.environment.WorldElement#getColor()
		 */
		@Override
		public Color getColor()
		{
			return Color.GRAY;
		}
	},
	ROCK
	{
		/* (non-Javadoc)
		 * @see fr.utbm.gi.vi51.slizers.pw.environment.WorldElement#getColor()
		 */
		@Override
		public Color getColor()
		{
			return Color.BLACK;
		}
	},
	WATER
	{
		/* (non-Javadoc)
		 * @see fr.utbm.gi.vi51.slizers.pw.environment.WorldElement#getColor()
		 */
		@Override
		public Color getColor()
		{
			return Color.BLUE;
		}
	},
	FIRE
	{
		/* (non-Javadoc)
		 * @see fr.utbm.gi.vi51.slizers.pw.environment.WorldElement#getColor()
		 */
		@Override
		public Color getColor()
		{
			return Color.RED;
		}
	},
	AIR
	{
		/* (non-Javadoc)
		 * @see fr.utbm.gi.vi51.slizers.pw.environment.WorldElement#getColor()
		 */
		@Override
		public Color getColor()
		{
			return Color.WHITE;
		}
	},
	ENTRANCE
	{
		/* (non-Javadoc)
		 * @see fr.utbm.gi.vi51.slizers.pw.environment.WorldElement#getColor()
		 */
		@Override
		public Color getColor()
		{
			return Color.ORANGE;
		}
	},
	EXIT
	{
		/* (non-Javadoc)
		 * @see fr.utbm.gi.vi51.slizers.pw.environment.WorldElement#getColor()
		 */
		@Override
		public Color getColor()
		{
			return Color.GREEN;
		}
	};
	
	/**
	 * Returns the color of an element.
	 * 
	 * @return the color of the element
	 */
	public abstract Color getColor();
}
